import { createApp } from 'vue'
//引入样式重置处理
import 'normalize.css'
//引入vant UI 组件库
import Vant from 'vant';
// 引入vant UI 组件库样式
import 'vant/lib/index.css';

// 引入根组件
import App from './App.vue'
// 引入路由
import router from './router'
// 引入vuex
import store from './store'

// app.config.globalProperties
// 一个用于注册能够被应用内所有组件实例访问到的全局属性的对象。
// 为了在组件中能够直接使用axios封装的实例，而不用重复冗余的import引入
// 可以利用 app.config.globalProperties 注册一个全局属性
import request from './utils/request'

// 引入 permission.js 文件中定义的权限拦截器,拦截页面访问
import './permission'

// 创建vue实例
const app =  createApp(App)

//在全局挂在一个 $http 属性,用于发送网络请求该属性是封装后的 axios 实例
app.config.globalProperties.$http = request

// 使用vant
app.use(Vant)
//使用路由
app.use(router)
// 使用vuex
app.use(store)
// 挂载
app.mount('#app')
